package com.xnyzc.lhy.mis.service.user.wallet;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.xnyzc.lhy.mis.entity.user.wallet.OaCWalletRecord;

import java.util.Map;

/**
 * <p>
 * 用户钱包记录表 服务类
 * </p>
 *
 * @author bin
 * @since 2019-07-19
 */
public interface IOaCWalletRecordService extends IService<OaCWalletRecord> {

    /**
     * 获取账单列表
     * @param userId 用户id
     * @param tag 租户
     * @param moneyType 0充值1收入
     * @param current 分页当前页从1开始
     * @return
     */
    IPage selectWalletRecordPage(Long userId, String tag, Integer moneyType, Long current);

    /**
     * 获取个人或部门公务列表
     * @param userId 用户id
     * @param tag 租户
     * @param moneyType 0个人1部门
     * @param current 分页当前页从1开始
     * @return
     */
    IPage selectPersonageOrOfficialPage(Long userId, String tag, Integer moneyType, Long current);

    /**
     * 账单详情
     * @param userId 用户id
     * @param tag 租户
     * @param recordId 账单id
     * @return
     */
    Map<String, Object> getWalletRecord(Long userId, String tag, Long recordId);

    /**
     * 获取用车制度
     * @param userId 用户id
     * @param tag 租户
     * @return
     */
    Map<String, Object> getVehicleSystem(Long userId, String tag);
    /**
     * 用户公务额度列表
     * @param userId 用户id
     * @param moneyType 额度类型（0 全部 1 收入 2 支出）
     * @param current 当前页
     * @return
     */
    // IPage<OaCWalletRecord> selectOfficialMoneyPage(Long userId, Integer moneyType, long current);

    /**
     * 用户公务额度列表详情
     * @param userId 用户id
     * @param recordId 列表id
     * @return
     */
    // Map<String, Object> getOfficialMoneyDetails(Long userId, Long recordId);
}
